#!/bin/bash

# 编译过程文件生成路径
BUILDPATH=./_build_

# build.sh 所在路径，build.sh 要和 CMakeLists.txt 在同一个目录下
PROJPATH=$(cd `dirname $0`; pwd)

clean=0
cleanall=0
build=1
arm=0

if [ $# -gt 0 ];then   # 多参数输入此脚本时
	for arg in "$@"
	do
		if   [ $arg = "clean" ]; then
			clean=1
			build=0
		elif [ $arg = "cleanall" ]; then
			clean=1
			cleanall=1
			build=0
		elif [ $arg = "rebuild" ]; then
			clean=1
			cleanall=1
		elif [ $arg = "arm" ] ; then
			arm=1
		else
			echo "Unknown command: $arg"
			exit 1
		fi
	done
fi

# 输入 clean 命令
if [ $clean -eq 1 ]; then
	if [ -d $BUILDPATH ] ;then
		cd $BUILDPATH
		make clean
		cd -
	fi
fi

# 输入 cleanall 命令
if [ $cleanall -eq 1 ]; then
	rm -rf $BUILDPATH
fi

# 需要执行 build 命令
if [ $build -eq 1 ]; then
	# 没有目录则创建目录
	if [ ! -d $BUILDPATH ] ;then
		mkdir $BUILDPATH -p
	else
		echo "path exists"
	fi

	# 进入目录并编译，其中 -DARM 表示新建一个 ARM 的变量，其值为 $arm ，在 CMakeLists.txt 中用到
	cd $BUILDPATH
	cmake $PROJPATH -DARM=$arm
	make
fi

exit 0
